========== Background ========== ZHLT is developed on two main systems: A Dual Processor (p3-700) Windows 2000 machine, and a Dual Processor (p3-500) Linux machine running Debian. The released versions for windows are compiled with the Intel C/C++ 4.5 compiler and GNU make. The visual studio projects, while included, aren't used and have a tendency to not always have all the newborn files in a release added to their projects correctly :) =============== Windows Systems =============== Requirements: (x) Microsoft Visual C++ 6 Recommended: (x) Intel C/C++ Compiler 4.0 or 4.5 (x) GNU make, on Windows, Cygwin can provide a working GNU make, available at http://sourceware.cygnus.com/cygwin/ (x) CommonC++ 1.4.2+ libraries (for compiling netvis) Available at http://sourceforge.net/project/?group_id=1523 The project can either be built with GNU make (including on Windows platforms) or directly with Microsoft Visual Studio 6 (just open zhlt.dsw) When using GNU make, choosing between MSVC or ICL requires editing make.ctl and changing the line COMPILER:=intel with COMPILER:=msvc ================== Unix/Posix Systems ================== Requirements: (x) g++ (x) GNU make (x) pthread compatibility Recommended: (x) CommonC++ 1.4.2+ libraries (for compiling netvis) Available at http://sourceforge.net/project/?group_id=1523 ATTENTION: Currently the posix tree of CommonC++ will compile and link with ZHLT 2.5.x but the socket code mysteriously seems to not be working. This should be addressed in an upcoming point release in either ZHLT or CommonC++ when the problem is found and fixed. The unix compile relies on several things, which probably needs friendlier cross-platform handling. The big requirements are requiring and , GNU make, and gcc. configure MUST be run. The 'makefile' that exists while looking innocent enough has a few things missing and is setup for GNU make on windows to work out of the box. configure has to run to populate some variables from makefile.in and generate a custom makefile for the machine in question. The only known issue with compiling Netvis & CommonC++ was that PTHREAD_HAVE_RWLOCK was defined through CommonC++'s and in their config.h and my Linux/Debian system did not like that define enabled, so I had to edit config.h and remove the #define PTHREAD_HAVE_RWLOCK before building CommonC++ and installing it. ****************************** *** Linux: Debian & Redhat *** ****************************** Should work with no changes. Don't know about the other flavors. *************** *** FreeBSD *** *************** I dont have a FreeBSD system so this information comes 2nd hand from a user: Linux emulation needed (linux_base_6.1.tar.gz or newer?) Requires fbsd4.1 stable to work Had to edit make.os and replace -lpthread with -pthread ========= Misc Info ========= **************** *** make.ctl *** **************** The file make.ctl controls options in the make process MODE : sets the default mode of compilation. valid choices are release, debug, super_debug (runtime heap checking), and release_w_symbols (meaningless on unix) MAPS : On Win32 systems, controls whether or not .map files are generated on link. ************************* *** WAD files on unix *** ************************* Create a mirror of your Half-life directory somewhere, but only include .wad files. Make sure the filenames match up as it will become case sensitive. Next, create an environment variable called WADROOT and set it to this directory (with no trailing slash). Example: WADROOT=/home/mcp/wads mcp@oven:~$ ls -alR wads wads: total 28 drwsrwsr-x 7 mcp mcpadmin 4096 Aug 2 21:23 . drwxr-sr-x 14 mcp mcp 4096 Oct 8 00:13 .. drwsrwsr-x 2 mcp mcpadmin 4096 Jul 19 14:54 gearbox drwsrwsr-x 2 mcp mcpadmin 4096 Jul 19 14:38 valve wads/gearbox: total 10364 drwsrwsr-x 2 mcp mcpadmin 4096 Jul 19 14:54 . drwsrwsr-x 7 mcp mcpadmin 4096 Aug 2 21:23 .. -rw-rw-r-- 1 mcp mcpadmin 1047952 Jul 13 00:56 decals.wad -rw-rw-r-- 1 mcp mcpadmin 4085336 Jul 17 18:18 op4ctf.wad -rw-rw-r-- 1 mcp mcpadmin 5308820 Jul 13 00:56 opfor.wad wads/valve: total 45272 drwsrwsr-x 2 mcp mcpadmin 4096 Jul 19 14:38 . drwsrwsr-x 7 mcp mcpadmin 4096 Aug 2 21:23 .. -rw-rw-r-- 1 mcp mcpadmin 924840 Jul 13 00:57 decals.wad -rw-rw-r-- 1 mcp mcpadmin 37914096 Jul 13 00:57 halflife.wad -rw-rw-r-- 1 mcp mcpadmin 475820 Jul 13 00:57 liquids.wad -rw-rw-r-- 1 mcp mcpadmin 6514528 Jul 13 00:57 xeno.wad -rw-rw-r-- 1 mcp mcpadmin 2380 Jul 13 00:57 zhlt.wad